<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../img/asset-favico.ico">
        <title>编辑信息</title>
        <link rel="stylesheet" href="../css/page-health-orderInfo.css" />
        <link rel="stylesheet" href="../plugins/elementui/index.css" />
        <script src="../plugins/jquery/dist/jquery.min.js"></script>
        <script src="../plugins/healthmobile.js"></script>
        <script src="../plugins/datapicker/datePicker.js"></script>
        <script src="../plugins/vue/vue.js"></script>
        <script src="../plugins/vue/axios-0.18.0.js"></script>
        <script src="../plugins/elementui/index.js"></script>
        <script src="https://unpkg.com/vue-baidu-map"></script>
        <script>
            var id = getUrlParam("id");
        </script>
        <style>
            .bm-view {width: 100%; height: 300px}
        </style>
    </head>
    <body data-spy="scroll" data-target="#myNavbar" data-offset="150">
        <div id="app" class="app">
            <!-- 页面头部 -->
            <div class="top-header">
                <span class="f-left"><i class="icon-back" onclick="history.go(-1)"></i></span>
                <span class="center">传智健康</span>
                <span class="f-right"><i class="icon-more"></i></span>
            </div>
            <!-- 页面内容 -->s
            <div class="contentBox">
                <div class="card">
                    <div class="">
                        <img :src="'http://qck660xrh.bkt.clouddn.com/'+setmeal.img" width="100%" height="100%" />
                    </div>
                    <div class="project-text">
                        <h4 class="tit">{{setmeal.name}}</h4>
                        <p class="subtit">{{setmeal.remark}}</p>
                        <p class="keywords">
                            <span>{{setmeal.sex == '0' ? '性别不限' : setmeal.sex == '1' ? '男':'女'}}</span>
                            <span>{{setmeal.age}}</span>
                        </p>
                    </div>
                    <div class="project-know">
                        <a href="orderNotice.html" class="link-page">
                            <i class="icon-ask-circle"><span class="path1"></span><span class="path2"></span></i>
                            <span class="word">预约须知</span>
                            <span class="arrow"><i class="icon-rit-arrow"></i></span>
                        </a>
                    </div>
                </div>
                <div class="form-info">
                    <div class="info-title">
                        <span class="name">体检人信息</span>
                    </div>
                    <form class="info-form">
                        <div class="input-row">
                            <label>体检人</label>
                            <input v-model="orderInfo.name" type="text" class="input-clear" placeholder="请输入姓名">
                        </div>
                        <div class="input-row single-radio">
                            <label class="radio-title">性别</label>
                            <div class="radio-list">
                                <div class="radio">
                                    <input v-model="orderInfo.sex" id="item1" type="radio" name="sex" value="1" checked>
                                    <label for="item1"></label>
                                    <span>男</span>
                                </div>
                                <div class="radio">
                                    <input v-model="orderInfo.sex" id="item2" type="radio" name="sex" value="2">
                                    <label for="item2"></label>
                                    <span>女</span>
                                </div>
                            </div>
                        </div>
                        <div class="input-row">
                            <label>手机号</label>
                            <input v-model="orderInfo.telephone" type="text" class="input-clear" placeholder="请输入手机号">
                            <input style="font-size: x-small;" id="validateCodeButton" @click="sendValidateCode()" type="button" value="发送验证码">
                        </div>
                        <div class="input-row">
                            <label>验证码</label>
                            <input v-model="orderInfo.validateCode" type="text" class="input-clear" placeholder="请输入验证码">
                        </div>
                        <div class="input-row">
                            <label>身份证号</label>
                            <input v-model="orderInfo.idCard" type="text" class="input-clear" placeholder="请输入身份证号">
                        </div>
                        <div class="input-row">
                            <label>预约地址</label>
                            <el-button type="primary" icon="el-icon-location" @click="showMap">查看地图定位</el-button>
                            <input v-model="orderInfo.address" type="text" class="input-clear" placeholder="请选择预约地址">
                        </div>
                        <baidu-map class="bm-view" v-show="mapVisible" :center="center" :zoom="zoom" @ready="handler"></baidu-map>
                        <div class="date">
                            <label>体检日期</label>
                            <i class="icon-date" class="picktime"></i>
                            <input v-model="orderInfo.orderDate" type="text" class="picktime" readonly>
                        </div>
                    </form>
                    <div class="box-button">
                        <button @click="submitOrder()" type="button" class="btn order-btn">提交预约</button>
                    </div>
                </div>
            </div>
        </div>
        <script>
            Vue.use(VueBaiduMap.default, {
                ak: 'cyxF4CKA16WjQ21otdkhCAcKNAmPi5UA',
            })
            var vue = new Vue({
                el:'#app',
                data:{
                    setmeal:{},//套餐信息
                    orderInfo:{
                        setmealId:id,
                        sex:'1',
                        address:'',
                    },//预约信息
                    center: {lng: 0, lat: 0},
                    zoom: 3,
                    mapVisible: false,
                    map: {},
                    BMap:{},
                    BMapLib:{},
                    opts:{},
                    allAddress:[],
                },
                methods:{
                    handler({BMap, map, BMapLib}){
                        console.log(BMap, map,BMapLib);
                        this.BMap=BMap
                        this.map = map
                        this.BMapLib = BMapLib
                        this.center.lng=116.44
                        this.center.lat=30.123;
                        this.zoom = 15;
                    },
                    showMap() {
                        this.mapVisible = true;
                        // var point = new BMap.Point(116.331398,39.897445);
                        // this.map.centerAndZoom(point,12);
                        var geolocation = new BMap.Geolocation();
                        var that = this;
                        geolocation.getCurrentPosition(function(r){
                            var mk = new BMap.Marker(r.point);
                            console.log("my loc:", mk)
                            that.map.enableScrollWheelZoom(true);
                            that.map.addOverlay(mk);
                            that.map.panTo(r.point);
                            // alert('您的位置：'+r.point.lng+','+r.point.lat);
                            axios.post("/organ/findOrgans.do?lng=" + r.point.lng+"&lat="+r.point.lat).then((response) => {
                                console.log(response.data.data);
                                this.allAddress = [];
                                for(let i = 0; i<response.data.data.length; i++) {
                                    let addr = response.data.data[i];
                                    this.allAddress[i] = [addr.lng, addr.lat, "地址:"+addr.address,addr.organName];
                                }
                                that.opts = {
                                    width : 250,     // 信息窗口宽度
                                    height: 80,     // 信息窗口高度
                                    title : "地址信息" , // 信息窗口标题
                                    enableMessage:true//设置允许信息窗发送短息
                                };
                                console.log("that map",that.map);
                                for(let i=0;i<this.allAddress.length;i++){
                                    let marker = new BMap.Marker(new BMap.Point(this.allAddress[i][0],this.allAddress[i][1]));  // 创建标注
                                    console.log("marker..", marker)
                                    let content = this.allAddress[i][2];
                                    let title = this.allAddress[i][3];
                                    console.log("title...", title)
                                    that.map.addOverlay(marker);               // 将标注添加到地图中
                                    that.addClickHandler(content,marker,title);
                                }
                            });
                        },{enableHighAccuracy: true});

                    },
                    addClickHandler(content,marker,title){
                        let that = this;
                        marker.addEventListener("click",function(e){
                            that.openInfo(content,e,title)}
                        );
                    },
                    openInfo(content,e,title){
                        console.log(this, this.orderInfo)
                        this.orderInfo.address = title;
                        console.log("190----",title)
                        this.opts.title = title
                        var p = e.target;
                        var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
                        var infoWindow = new BMap.InfoWindow(content,this.opts);  // 创建信息窗口对象
                        this.map.openInfoWindow(infoWindow,point); //开启信息窗口
                        let address = infoWindow.content.substr(3)
                        console.log("194----",address,point)
                        this.orderInfo.address = address;
                    },
                    sendValidateCode(){
                        //获取用户输入的手机号
                        var telephone = this.orderInfo.telephone;

                        //校验手机号输入是否正确
                        if (!checkTelephone(telephone)) {
                            this.$message.error('请输入正确的手机号');
                            return false;
                        }

                        // 按钮禁用倒计时效果
                        validateCodeButton = $("#validateCodeButton")[0];
                        clock = window.setInterval(doLoop, 1000); //一秒执行一次

                        // 发送手机验证码
                        axios.post("/validateCode/send4Order.do?telephone=" + telephone).then((response) => {
                            if(!response.data.flag){
                                //验证码发送失败
                                this.$message.error('验证码发送失败，请检查手机号输入是否正确');
                            }
                        });
                    },
                    //提交预约
                    submitOrder(){
                        //校验身份证号格式
                        if(!checkIdCard(this.orderInfo.idCard)){
                            this.$message.error('身份证号码输入错误，请重新输入');
                            return ;
                        }

                        // 预约提交
                        axios.post("/order/submit.do",this.orderInfo).then((response) => {
                            if(response.data.flag){
                                //预约成功，跳转到预约成功页面
                                window.location.href="orderSuccess.html?orderId=" +
                                    response.data.data;
                            }else{
                                //预约失败，提示预约失败信息
                                this.$message.error(response.data.message);
                            }
                        });
                    }
                },
                mounted(){
                    axios.post("/setmeal/findById.do?id=" + id).then((response) => {
                        this.setmeal = response.data.data;
                    });
                }
            });
        </script>
        <script>
            //日期控件
            var calendar = new datePicker();
            calendar.init({
                'trigger': '.picktime',/*按钮选择器，用于触发弹出插件*/
                'type': 'date',/*模式：date日期；datetime日期时间；time时间；ym年月；*/
                'minDate': getSpecifiedDate(new Date(),1),/*最小日期*/
                'maxDate': getSpecifiedDate(new Date(),30),/*最大日期*/
                'onSubmit': function() { /*确认时触发事件*/
                    //var theSelectData = calendar.value;
                },
                'onClose': function() { /*取消时触发事件*/ }
            });
        </script>
        <script>
            //日期控件
            var calendar = new datePicker();
            calendar.init({
                'trigger': '.picktime',/*按钮选择器，用于触发弹出插件*/
                'type': 'date',/*模式：date日期；datetime日期时间；time时间；ym年月；*/
                'minDate': getSpecifiedDate(new Date(), 1),/*最小日期*/
                'maxDate': getSpecifiedDate(new Date(), 30),/*最大日期*/
                'onSubmit': function() { /*确认时触发事件*/},
                'onClose': function() { /*取消时触发事件*/ }
            });
        </script>
    </body>
</html>